///////////////////////////////////////////////////////////////////////////////
//-----------------------------------------------------------------------------
#ifndef __GLINFO_H__
#define __GLINFO_H__
//-----------------------------------------------------------------------------

#include <Config.h>
#include <AbstractManager.h>
#include <string>
#include <vector>

//-----------------------------------------------------------------------------

class glInfo
	:	public	AbstractManager<glInfo>
{
public:
    glInfo();

    bool getInfo();
    void printSelf();
    bool isExtensionSupported(const std::string& ext);
	
	std::string vendor;
    std::string renderer;
    std::string version;
    std::vector<std::string> extensions;

    int redBits;
    int greenBits;
    int blueBits;
    int alphaBits;
    int depthBits;
    int stencilBits;

    int maxTextureSize;
    int maxLights;
    int maxAttribStacks;
    int maxModelViewStacks;
    int maxProjectionStacks;
    int maxClipPlanes;
    int maxTextureStacks;
};

#endif	//	__GLINFO_H__
//-----------------------------------------------------------------------------
///////////////////////////////////////////////////////////////////////////////
